/**
 * 国际化配置
 */
import { createI18n } from 'vue-i18n'
import { Language } from '@/common/constant'

// 导入语言包
import zhCN from './locales/zh-CN'
import enUS from './locales/en-US'

// 创建i18n实例
const i18n = createI18n({
    legacy: false, // 使用组合式API
    locale: uni.getStorageSync('LANGUAGE') || Language.ZH_CN, // 默认语言
    fallbackLocale: Language.ZH_CN, // 回退语言
    messages: {
        [Language.ZH_CN]: zhCN,
        [Language.EN_US]: enUS
    },
    silentTranslationWarn: true, // 关闭翻译警告
    silentFallbackWarn: true // 关闭回退警告
})

export default i18n

// 导出类型
export type MessageSchema = typeof zhCN

// 导出辅助函数
export const setLanguage = (lang: Language) => {
    i18n.global.locale.value = lang
    uni.setStorageSync('LANGUAGE', lang)
}
